import axios from "axios"
import NProgress from "nprogress"
import "nprogress/nprogress.css"
import { toast } from 'react-toastify';

//创建实例对象
let instance = axios.create({
    baseURL:"http://localhost:8888",  //默认域名
    timeout:3000  //超时时间
})


//请求拦截器
instance.interceptors.request.use(config =>{
    // console.log("这是axios【请求拦截器】")
    //config  请求的所有配置对象

     //启动进度条
     NProgress.start();

    //必须 返回 config
    return config;
})

//响应拦截器
instance.interceptors.response.use(
    response => {
        //关闭进度条
        NProgress.done();
        // console.log("@@@",response)
        // response  axios响应的完整的结果
        //必须返回
        return response.data;
    },
    error => {

        //关闭进度条
        NProgress.done();

        //提示
        toast.error("请求失败！");
        
        console.log(error.message);
        // 1. 返回一个失败状态的 Promise
        // return Promise.reject();

        // 2. 返回一个 pending 状态的 Promise
        return new Promise(()=>{});
    }

)



//暴露 axios 对象
export default instance;